package com.carrental.vehicle.service;

import com.carrental.common.api.PageResult;
import com.carrental.vehicle.vo.VehicleUsageStatVO;
import com.carrental.vehicle.vo.VehicleUsageDetailVO;
import com.carrental.vehicle.vo.VehicleWearVO;

import javax.servlet.http.HttpServletResponse;

/**
 * 车辆使用统计服务接口
 */
public interface VehicleUsageService {

    /**
     * 获取车辆使用统计数据
     */
    PageResult<VehicleUsageStatVO> getVehicleUsageStatistics(
            Integer current, Integer size, String licensePlate, 
            Long brandId, Integer type, String startDate, String endDate);

    /**
     * 获取车辆使用详情
     */
    VehicleUsageDetailVO getVehicleUsageDetail(Long vehicleId);

    /**
     * 获取车辆损耗评估
     */
    VehicleWearVO getVehicleWearAnalysis(Long vehicleId);

    /**
     * 导出车辆使用统计数据
     */
    void exportVehicleUsageStatistics(
            HttpServletResponse response, String licensePlate, 
            Long brandId, Integer type, String startDate, String endDate);

    /**
     * 生成车辆损耗评估报告
     */
    void generateVehicleWearReport(HttpServletResponse response, Long vehicleId);
} 